Many electronic devices provide a user interface by which a user may interact with multiple application programs. In particular, a user may use an input device of the user interface for entering input to interact with user interface components of the application programs. The application programs may be responsive to the input. Exemplary electronic devices on which application programs may execute include mobile phones, cameras, personal digital assistants (PDAs), network components, televisions, and computers.
One example of a user interface component of an application program with which a user may interact is a display window. One or more windows associated with application programs may be displayed on a display of an electronic device. A window may include graphics and/or text for presentation to a user by a respective application program. A user may interact with a window via a keyboard, a mouse, or any other suitable input device. User interaction with a window may include entering text into a window or selecting portions of the window. Data associated with the user interaction may be provided to the respective application program.
When a window is displayed, an application program associated with the window may have “focus” with a user interface. An application program having focus means that the corresponding window is active to receive input via a user interface. Typically, a window having focus may be indicated by a different color than other windows. The other windows do not receive input via the user interface unless activated. In one example, a window may be activated by selection via a mouse. In mobile phone applications, different windows may be selected by using a keypad or a scroll button.
One difficulty with window interaction is that a context of interaction with a window may be lost when user interaction switches between windows. For example, a user reading an e-mail message in a window associated with an e-mail application program may switch to a window associated with a calendar application program. When the user switches back to the e-mail message window, the same message may appear; however, a context of interaction with the window may be lost. For example, a scroll context, a selection context, or a highlight context may be lost. When the context is lost, a user must interact with the window via a user interface to regain the context.
When a user switches from a window with focus to another window, the user may switch to obtain information associated with the application program associated with the other window. For example, a user may switch from an e-mail window having focus to a calendar window in order to obtain appointment information in the associated calendar application program. As a result of switching to the calendar window, the calendar application program is selected and the context of the e-mail window may be lost. It would be beneficial to be able to obtain desired information from the calendar application program or any other application program while maintaining focus of the e-mail application program with the user interface.
In another example, a networked television may provide for interaction via a user interface for controlling and viewing the status of other appliances. Typically, a television is used for viewing video content. It would be beneficial to provide for a user to enter input via a user interface for controlling and/or viewing output from another appliance without losing the context in the video viewing window.
Accordingly, in light of the above described difficulties and needs, there exists a need for improved methods, systems, and computer program products for interacting simultaneously with multiple application programs.